package top.infopub.security.service;


import top.infopub.security.core.CaptchaUsernamePasswordToken;
import top.infopub.security.vo.AuthorizationVO;


/**
 * 用户管理接口
 * @author Awoke
 * @version 2018年9月17日
 * @see SysUserService
 * @since
 */
public interface SysUserService {

    /**
     *
     * @param loginObj
     * @return
     * @see
     */
    public AuthorizationVO getUserByUserName(CaptchaUsernamePasswordToken loginObj);

    public AuthorizationVO getUserByCode(String code);

    /**
     * 登录成功后，登录监听会回调该方法，取得详细的用户数据并存放在Session中
     * @param userId
     * @return
     */
    public AuthorizationVO getUserDetail(String userId);

    /**
     * 登录成功
     * @param userId
     * @param host
     * @see
     */
    public void loginSuccess(String userId, String host);

    /**
     * 登录出错时调用
     * @param userName 登录时输入的手机号或用户名
     * @param host
     */
    public void loginError(String userName, String host);

    /**
     * 登出
     * @param userId
     */
    public void logout(String userId);

}
